home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 44 / PC Actual CD 44.iso / Linux / Cygwin / full.exe / Disk1 / data1.cab / Tools / H-i586-cygwin32 / i586-cygwin32 / include / sys / termios.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-12-04  |  4.4 KB  |  232 lines

  1. /* sys/termios.h */
  2.  
  3. #ifndef    _SYS_TERMIOS_H
  4. #define _SYS_TERMIOS_H
  5.  
  6. #define TCOOFF    0
  7. #define TCOON    1
  8. #define TCIOFF    2
  9. #define TCION    3
  10.  
  11. #define TCGETA   5
  12. #define TCSETA   6
  13. #define TCSETAW     7
  14. #define TCSETAF     8
  15.  
  16. #define TCIFLUSH    0
  17. #define TCOFLUSH    1
  18. #define TCIOFLUSH    2
  19. #define TCFLSH          3
  20.  
  21. #define TCSAFLUSH    1
  22. #define TCSANOW        2
  23. #define TCSADRAIN    3
  24. #define TCSADFLUSH    4
  25.  
  26. #define TIOCPKT        6
  27.  
  28. #define TIOCPKT_DATA         0
  29. #define TIOCPKT_FLUSHREAD     1
  30. #define TIOCPKT_FLUSHWRITE     2
  31. #define TIOCPKT_STOP         4
  32. #define TIOCPKT_START         8
  33. #define TIOCPKT_NOSTOP        16
  34. #define TIOCPKT_DOSTOP        32
  35.  
  36. #define FIONBIO 0x8004667e /* To be compatible with socket version */
  37.  
  38. #define CTRL(ch)    ((ch)&0x1F)
  39.  
  40. #define CNUL    0
  41. #define CDEL    0177
  42. #define CESC    '\\'
  43. #define CINTR    CTRL('C')
  44. #define CQUIT    034
  45. #define CERASE    CTRL('H')
  46. #define CKILL    CTRL('U')
  47. #define CEOT    CTRL('D')
  48. #define CEOL    0
  49. #define CEOL2    0
  50. #define CEOF    CTRL('D')
  51. #define CSTART    CTRL('Q')
  52. #define CSTOP    CTRL('S')
  53. #define CSWTCH    032
  54. #define NSWTCH    0
  55. #define CSUSP    CTRL('Z')
  56. #define CDSUSP    CTRL('Y')
  57. #define CRPRNT    CTRL('R')
  58. #define CFLUSH    CTRL('O')
  59. #define CWERASE    CTRL('W')
  60. #define CLNEXT    CTRL('V')
  61.  
  62. /* iflag bits */
  63. #define IGNBRK  0000001
  64. #define BRKINT  0000002
  65. #define IGNPAR  0000004
  66. #define IMAXBEL 0000010
  67. #define INPCK   0000020
  68. #define ISTRIP  0000040
  69. #define INLCR   0000100
  70. #define IGNCR   0000200
  71. #define ICRNL   0000400
  72. #define IXON    0002000
  73. #define IXOFF    0010000
  74. #define IUCLC   0040000
  75. #define IXANY   0100000
  76. #define PARMRK  0200000
  77.  
  78. /* oflag bits */
  79.  
  80. #define OPOST    0000001
  81. #define OLCUC    0000002
  82. #define OCRNL    0000004
  83. #define ONLCR    0000010
  84. #define ONOCR    0000020
  85. #define ONLRET    0000040
  86. #define OFILL    0000100
  87. #define CRDLY    0000600
  88. #define CR0       0000
  89. #define CR1       0200
  90. #define CR2       0400
  91. #define CR3       0600
  92. #define NLDLY    0001000
  93. #define    NL0      00000
  94. #define NL1      01000
  95. #define    BSDLY    0002000
  96. #define BS0      00000
  97. #define BS1      02000
  98. #define TABDLY    0014000
  99. #define TAB0     000000
  100. #define TAB1     004000
  101. #define TAB2     010000
  102. #define TAB3     014000
  103. #define XTABS    0014000
  104. #define VTDLY    0020000
  105. #define VT0     000000
  106. #define VT1     020000
  107. #define FFDLY    0040000
  108. #define FF0     000000
  109. #define FF1     040000
  110. #define OFDEL    0100000
  111.  
  112. /* cflag bits */
  113.  
  114. #define CLOCAL     0004000
  115. #define CREAD     0000200
  116. #define CSIZE     0000060
  117. #define CS5           0
  118. #define CS6         020
  119. #define CS7         040
  120. #define CS8         060
  121. #define CSTOPB     0000100
  122. #define HUPCL     0002000
  123. #define PARENB     0000400
  124. #define PARODD     0001000
  125. #define CRTSXOFF 0040000
  126. #define CRTSCTS  0100000
  127.  
  128. /* lflag bits */
  129. #define ISIG    0x0001
  130. #define ICANON    0x0002
  131. #define ECHO    0x0004
  132. #define ECHOE    0x0008
  133. #define ECHOK    0x0010
  134. #define ECHONL    0x0020
  135. #define NOFLSH    0x0040
  136. #define TOSTOP    0x0080
  137. #define IEXTEN    0x0100
  138. #define FLUSHO    0x0200
  139. #define ECHOKE    0x0400
  140. #define ECHOCTL    0x0800
  141.  
  142. #define VDISCARD    1
  143. #define VEOL        2
  144. #define VEOL2       3
  145. #define VEOF        4
  146. #define VERASE        5
  147. #define VINTR        6
  148. #define VKILL        7
  149. #define VLNEXT         8
  150. #define VMIN        9
  151. #define VQUIT        10
  152. #define VREPRINT     11
  153. #define VSTART        12
  154. #define VSTOP        13
  155. #define VSUSP        14
  156. #define VSWTC         15
  157. #define VTIME        16
  158. #define VWERASE     17
  159.  
  160. #define NCCS         18
  161.  
  162. /* Baud rate values.  These must fit in speed_t, which is unsigned
  163.    char.  */
  164. #define CBAUD    000037
  165. #define B0    000000
  166. #define B50    000001
  167. #define B75    000002
  168. #define B110    000003
  169. #define B134    000004
  170. #define B150    000005
  171. #define B200    000006
  172. #define B300    000007
  173. #define B600    000010
  174. #define B1200    000011
  175. #define B1800    000012
  176. #define B2400    000013
  177. #define B4800    000014
  178. #define B9600    000015
  179. #define B19200    000016
  180. #define B38400    000017
  181. #define B57600    000020
  182. #define B115200    000021
  183.  
  184. typedef unsigned char cc_t;
  185. typedef unsigned short tcflag_t;
  186. typedef unsigned char speed_t;
  187.  
  188. struct termios {
  189.     tcflag_t    c_iflag;
  190.     tcflag_t    c_oflag;
  191.     tcflag_t    c_cflag;
  192.     tcflag_t    c_lflag;
  193.     char        c_line;
  194.     cc_t        c_cc[NCCS];
  195.     speed_t        c_ispeed;
  196.     speed_t        c_ospeed;
  197. };
  198.  
  199. #define termio termios
  200.  
  201. #define cfgetospeed(tp)        ((tp)->c_ospeed)
  202. #define cfgetispeed(tp)        ((tp)->c_ispeed)
  203. #define cfsetospeed(tp,s)    (((tp)->c_ospeed = (s)), 0)
  204. #define cfsetispeed(tp,s)    (((tp)->c_ispeed = (s)), 0)
  205.  
  206. #ifdef __cplusplus
  207. extern "C" {
  208. #endif
  209.  
  210. int tcgetattr (int, struct termios *);
  211. int tcsetattr (int, int, const struct termios *);
  212. int tcsendbreak (int, int);
  213. int tcdrain (int);
  214. int tcflush (int, int);
  215. int tcflow (int, int);
  216.  
  217. #ifdef __cplusplus
  218. }
  219. #endif
  220.  
  221. /* Extra stuff to make porting stuff easier.  */
  222. struct winsize
  223. {
  224.   unsigned short ws_row, ws_col;
  225.   unsigned short ws_xpixel, ws_ypixel;
  226. };
  227.  
  228. #define TIOCGWINSZ (('T' << 8) | 1)
  229. #define TIOCSWINSZ (('T' << 8) | 2)
  230.  
  231. #endif    /* _SYS_TERMIOS_H */
  232.